# -*- coding: utf-8 -*-
# @Time    : 2021/4/18 0018 12:37
# @Author  : 蒋才果
# @Email   : 1476235300@qq.com
# @File    : python2,3区别.py
# @Software: PyCharm
# 1、输入输出
#python2:
# >>> print("hello")
# hello
# >>> print "hello"
# hello

# >>> num1 = input("please input:")
# please input:1
# >>> type(num1)
# <type 'int'>>>> str1 = input("please input:")
# please input:'abc'
# >>> type(str1)
# <type 'str'>
# >>> str2 = raw_input("please raw input:")
# please raw input:
# >>>
# >>>
# >>> type(str2)
# <type 'str'>

#输入：
# python3中的input得到为str
# python2中的input默认为int，str要使用引号包裹，raw_input得到的是str

#2、模块与包
#python2 包文件必须要有一个__init__.py才能被识别程包目录
#python3 可以识别把普通目录识别成包，不一定需要__init__.py
#   python2默认是相对导入  python3是绝对导入

#3、编码
#python2 默认是ascii编码
#python3 默认是utf-8编码

#4、数值类型
#python2 有长整型
#python3 只有整形

#5、运算符
#python2 中的除法运算符为地板除，不是真除。转化成浮点数才表示真除
#python3 中的除法就是真除

#6、字符串拼接
#python3 可以使用f标志位拼接，python2不可以

#7、range与xrange
# python2: range(0,4) -->结果：[0,1,2,3]
#          xrange(0,4) -->结果： 可迭代对象（惰性求值，使用的时候再生成值）
# python3： 没有xrange，range函数就是python2中的xrange

#8、布尔类型
#python2 True、False都没有定义成关键字
#python3 True、False都是关键字

#9、异常机制
#python2：
# try:
#     ...
# except Exception,e:
#     ...

#python3:
# try:
#     ...
# except Exception as e:
#     ...

#10、字节码文件
#python3  存放在同级目录下的__pycache__文件夹
#python2  直接存放在同级目录下，.pyc结尾文件

#__future__ 把下一个版本的特性导入到当前版本
# >>> from __future__ import division
# >>> 5/3
# 1.6666666666666667